package lc.q101_150;

import lc.TreeNode;

import java.util.Arrays;

public class Q108 {
    public TreeNode sortedArrayToBST(int[] nums) {
        // 中间节点是跟节点，然后递归构造
        return sortedArrayToBST(nums, 0, nums.length);

    }

    public TreeNode sortedArrayToBST(int[] nums, int start, int end) {
        // 不包含end
        if (end == start) {
            return null;
        }
        final int mid = (start + end) / 2;
        final TreeNode root = new TreeNode(nums[mid]);
        root.left = sortedArrayToBST(nums, start, mid);
        root.right = sortedArrayToBST(nums, mid + 1, end);
        return root;
    }
}
